package com.ztgf.shopping.models.service.shop;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ztgf.shopping.models.bo.shop.ShopContractSettleInBO;
import com.ztgf.shopping.models.bo.shop.ShopContractSettleInSaveBO;
import com.ztgf.shopping.models.dto.shop.ShopContractSettleInDTO;
import com.ztgf.shopping.models.vo.shop.ShopContractSettleInVO;
import sun.rmi.runtime.Log;

import java.util.List;

/**
 * author: chenyu.wang
 * date: 2020-07-10 14:25
 * Description: 商家入驻合同表服务
 */
public interface IShopContractSettleInService extends IService<ShopContractSettleInDTO> {

    /**
     * description: 后台管理系统入驻合同列表
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-07-10
     * return: com.baomidou.mybatisplus.plugins.Page<com.ztgf.shopping.models.vo.shop.ShopContractSettleInVO>
     */
    Page<ShopContractSettleInVO> queryAdminPageList(ShopContractSettleInBO bo);

    /**
     * description: 后台管理系统入驻合同查看详情
     * param: [id]
     * author: chenyu.wang
     * date: 2020-07-10
     * return: com.ztgf.shopping.models.vo.shop.ShopContractSettleInVO
     */
    ShopContractSettleInVO getById(Long id);

    /**
     * description: 添加入驻合同
     * param: [saveBO]
     * author: chenyu.wang
     * date: 2020-07-10
     * return: boolean
     */
    boolean add(ShopContractSettleInSaveBO saveBO);

    ShopContractSettleInDTO getByShopId(Long shopId);

    ShopContractSettleInDTO getByName(String name);

    String createContract(Long shopId) throws Exception; //生成入住合同

    String gerenateSignUrl(Long shopId) throws Exception; //获取合同签订地址

    String updateContactByCallBackInfo(String signature,String timestamp,String content) throws Exception; //合同签订成功后回调该改状态

    String getContractString(Long contractId); //查看合同

    boolean createShopContract(Long id); //生成入住合同记录

    List<ShopContractSettleInDTO> getNotSignContact(Long LastNo);

    boolean createDeBangContract(Long id, Long id1);

    String gerenateDBSignUrl(Long shopId,Long id) throws Exception; //获取德邦合同签订地址

    String getCallBackDeBangContactInfo(String signature, String timestamp, String content);
}
